﻿using Microsoft.Xna.Framework.Graphics;

namespace Brain.Rendering
{
    public interface IBasePostProcessor
    {
        /// <summary>
        /// The Texture the Post Processor receives to modify
        /// </summary>
        Texture2D InputTexture { get; set; }

        /// <summary>
        /// If is there a Post Processor to be called after this one,
        /// and we need to supply it the modified texture
        /// </summary>
        bool RequestOutputTexture { get; set; }

        /// <summary>
        /// The Texture the After Post Processor will receive. Only called if
        /// "RequestOutputTexture" is true. "RequestOutputTexture" is modified by the PostProcessorCollection
        /// </summary>
        RenderTarget2D OutputTexture { get; set; }

        void Draw();
    }
}
